package com.my.study.nio;

import org.junit.Test;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.channels.SocketChannel;

/**
 * @author Carlos
 * @version 1.0
 * @Description 阻塞式
 *
 *  <p>
 *      使用NIO完成网络通信的三个核心：
 *
 *      一、通道（Channel）：负责连接
 *
 *      java.nio.channels.Channel 接口
 *             |-- SelectableChannel
 *                  |-- SocketChannel
 *                  |-- ServerSocketChannel
 *                  |-- DatagramChannel
 *
 *                  |-- Pipe.SinkChannel
 *                  |-- Pipe.SourceChannel
 *
 *
 *      二、缓冲区（Buffer）：负责数据存取
 *
 *      三、选择器（Selector）：是{@code SelectableChannel}的多路选择复用器。
 *      用于监控{@code SelectableChannel}的IO状况
 *
 *
 *  </p>
 *
 *
 * @date 2021/8/1 19:05
 **/
public class BlockingNIOTest {


    @Test
    public void client() {
        SocketChannel socketChannel = null;

        try {
            // 获取连接通道
            socketChannel = SocketChannel.open(
                    new InetSocketAddress("127.0.0.1", 9898));


        } catch (IOException e) {
            e.printStackTrace();
        }

    }



    @Test
    public void server() {

    }












}
